#!/usr/bin/env bash

# 阿拉伯数字18作为异常退出码
check='[ $? -eq 0 ] || exit 18'

docker_version=`docker --version`
if [[ $? -ne 0 ]];
then
  # 安装docker，这个跟其他的安装不同，是镜像外部安装的
  # y/n判断，默认y
  while true; do
    read -t 42 -p "是否安装docker,如果您的电脑上没有安装docker，可能会导致后续某些流程失败，Y/n：" sign
    sign=${sign:-y}
    echo "您选择了：$sign"
      case "${sign,}" in
      "y")
        eval "$check" && curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
        eval "$check" && echo "docker安装完成！！！"
        eval "$check" && break
        ;;
      "n")
        echo "不同意安装docker，退出"
        exit 18
        ;;
      *)
        echo "输入不合法，请重新输入"
        ;;
      esac
  done
else
  echo "您的电脑上已经安装了docker:$docker_version"
fi

compose_version=`docker-compose -v`
if [[ $? -ne 0 ]];
then
  # 安装docker-compose，github地址访问比较不稳定，所以这里尝试使用自己的gitee仓库来实现
  # eval "$check" && curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  eval "$check" && echo '安装docker-compose，gitee地址，如果已失效可尝试上面的github地址，gitee的附件没有按照发行版号来组织路径感觉很不好'
  eval "$check" && curl -L https://gitee.com/siusn/compose/attach_files/792187/download/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  eval "$check" && echo '赋予docker-compose执行权限'
  eval "$check" && chmod +x /usr/local/bin/docker-compose
else
  echo "您的电脑上已经安装了docker-compose:$compose_version"
fi

docker_active=`service docker status | grep 'active (running)'`
if [[ -z $docker_active ]];
then
  eval "$check" && echo '启动docker'
  eval "$check" && service docker restart
fi







